iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 29
0
Modern Web

Go into Web!系列 第 29

Day29 | CI/CD 的導入 - 設定篇

  • 分享至 

  • xImage
  •  

昨天建立好整體的環境,今天就讓我們來把他進行完整設定,並且執行一個實際專案。

drone server 要可以運作,必須要從 gitea 中取得 client idsecret,就讓我們開始吧!

建立應用程式

在登入 gitea 後,點選右上方的使用者大頭貼,之後點選 設定

接著點選 應用程式

再來我們來 新增 OAuth2 應用程式 ,名稱可以隨意定義,重新導向的 URL 使用 http://<url>/login,設定如下

設定完畢點選 建立應用程式 會出現以下畫面,要將 客戶端 ID客戶端密鑰 複製起來後面會用到

設定

接著回到 docker-compose 的設定,開啟 .env 檔案,將上一步取得的設定貼至此處如下

客戶端 ID  -> DRONE_GITEA_CLIENT_ID
客戶端密鑰  -> DRONE_GITEA_CLIENT_SECRET

設定完畢之後,輸入以下指令重新啟動 drone-server

docker-compose up -d

OAuth2 登入驗證

接著可以透過在瀏覽器輸入 http://<ip>:9999 進入 drone-server 的畫面,輸入後會先看到此畫面

按下「授權應用程式」後,就會跳轉回到 drone-server 的畫面

測試

我們可以在 gitea 中建立一個名為 chat組織,之後在裡面建立名為 random_anonymous_chat儲存庫

建立完畢之後回到 drone-server 中按下 Sync 的按鈕進行同步(與 gitea 同步),等同步完成後會看到以下畫面

看到此畫面代表設定成功

小結

將 drone 與 gitea 設定同步是一個非常簡單的動作,但這個動作帶來的效益非常大,我們可以藉此設定不同專案的 CI 流程,有任何更動也都是同步進行。


上一篇
Day28 | CI/CD 的導入 - 環境篇
下一篇
Day30 | CI/CD 的導入 - 應用篇
系列文
Go into Web!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言